﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace IQReportes_Batch.WebService.DTO
{
    [DataContract]
    public class DIRModelService
    {
        [DataMember]
        public string codDir { get; set; }
        [DataMember]
        public string codLocal { get; set; }
        [DataMember]
        public string codRepresentante { get; set; }
        [DataMember]
        public string codTienda { get; set; }
        [DataMember]
        public string codUbigeo { get; set; }
        [DataMember]
        public int estado { get; set; }
        [DataMember]
        public string nombreLocal { get; set; }
        [DataMember]
        public string nombreTienda { get; set; }
        [DataMember]
        public string tipoAtencion { get; set; }
        [DataMember]
        public string etapaProceso { get; set; }
        [DataMember]
        public string condicionAtencion { get; set; }
        [DataMember]
        public string estadoAtencion { get; set; }
        [DataMember]
        public object mensajeRetorno { get; set; }
        [DataMember]
        public int valorRetorno { get; set; }

        public string codMotivo { get; set; }

        public string getCodigoMotivo()
        {
            //instalación
            //if(("A").Equals(tipoAtencion)){
            //    //instalacion otros
            //    if (!("C").Equals(condicionAtencion) && ("P").Equals(estadoAtencion))
            //    {
            //        estado = 1;
            //        codMotivo = "INS_OK";
            //    }
            //    //instalación cancelada
            //    else if (("C").Equals(condicionAtencion) && ("X").Equals(estadoAtencion))
            //    {
            //        estado = 0;
            //        codMotivo = "INS_KO";
            //    }
            //}
            //capacitación
            estado = 1;
            codMotivo = "OTR";

            if (("E").Equals(tipoAtencion))
            {
                if (!("C").Equals(condicionAtencion) && ("P").Equals(estadoAtencion))
                {
                    estado = 1;
                    codMotivo = "CAP_OK";
                }
            }

            //desinstalación
            else if (("B").Equals(tipoAtencion))
            {
                //desinstalación pendiente
                if (!("C").Equals(condicionAtencion) && ("P").Equals(estadoAtencion))
                {
                    estado = 1;
                    codMotivo = "DES_KO";
                }
                //desinstalación cerrada
                else if (!("C").Equals(condicionAtencion) && ("X").Equals(estadoAtencion))
                {
                    estado = 0;
                    codMotivo = "DES_OK";
                }
            }

            //Incidencia
            else if (("C").Equals(tipoAtencion))
            {
                if (!("C").Equals(condicionAtencion) && ("P").Equals(estadoAtencion))
                {
                    estado = 1;
                    codMotivo = "INC_OK";
                }
            }

            //otros
            else
            {
                estado = 1;
                codMotivo = "OTR";
            }
            //etapapr
            return codMotivo;
        }
    }
}
